package com.yanqu.road.entity.kowloon.sanxiao;

import com.alibaba.fastjson.annotation.JSONField;

public class KowloonBlock {

    private int x;
    private int y;
    private int level;
    private int type; // eKowloonBlockType
    private int color;

    @JSONField(serialize = false)
    private int stepAdd; //连消增加步数
    @JSONField(serialize = false)
    private int eliminateAmount; //几连消

    @JSONField(serialize = false)
    private int hightlight; //高亮

    @JSONField(serialize = false)
    private int status; //特殊状态,福袋开启

    public KowloonBlock() {
    }

    public KowloonBlock(int x, int y, int type) {
        this.x = x;
        this.y = y;
        this.type = type;
    }

    public KowloonBlock clone() {
        KowloonBlock data = new KowloonBlock(getX(), getY(), getType());
        data.setLevel(this.getLevel());
        data.setStepAdd(this.getStepAdd());
        data.setEliminateAmount(this.getEliminateAmount());
        data.setHightlight(this.getHightlight());
        data.setColor(this.getColor());
        data.setStatus(this.getStatus());
        return data;
    }

    // ======================================================

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public int getType() {
        return type;
    }

    public int getEliminateType() {
        return type * 10000 + level;
    }

    public void setType(int type) {
        this.type = type;
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }

    public KowloonBlock setLevelAndRetrun(int level) {
        this.level = level;
        return this;
    }

    public int getStepAdd() {
        return stepAdd;
    }

    public void setStepAdd(int stepAdd) {
        this.stepAdd = stepAdd;
    }


    public int getHightlight() {
        return hightlight;
    }

    public void setHightlight(int hightlight) {
        this.hightlight = hightlight;
    }

    public int getColor() {
        return color;
    }

    public void setColor(int color) {
        this.color = color;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public int getEliminateAmount() {
        return eliminateAmount;
    }

    public void setEliminateAmount(int eliminateAmount) {
        this.eliminateAmount = eliminateAmount;
    }
}
